package com.jprocms.module.cms.service.job;

import com.jprocms.module.cms.dto.JobDto;


/**
 * 定时任务 Service 接口
 *
 * @author jprocms
 */
public interface JobService {

    /**
     * 更新或添加job
     *
     * @param jobDto 要添加的任务
     * @param dataId 数据ID
     */
    void addOrUpdateJob(JobDto jobDto);

    /**
     * 删除任务
     *
     * @param jobType 要删除的任务类型
     * @param dataId  数据ID
     */
    void deleteByJobTypeAndDataId(Integer jobType, Long dataId);

    /**
     * 根据类型批量删除任务
     *
     * @param jobType 要删除的任务类型
     */
    void deleteByJobType(Integer jobType);

    /**
     * 恢复任务
     *
     * @param jobType 要删除的任务类型
     * @param dataId  数据ID
     */
    void restoreByJobTypeAndDataId(Integer jobType, Long dataId);

    void updateJobStatus(Long jobId, Integer status);

}
